该内容已被发布者删除 该内容被自由微信恢复
文章于 3月29日 下午 10:20 被检测为删除。
查看原文
被用户删除
其他

解锁散点图新姿势:大括号加持,数据解读更给力!

小陈的R语言笔记 小陈的R语言笔記 2024-03-29

准备

#安装R包
install.packages("ggbrace")

#加载R包
library(ggbrace)
library(ggplot2)

#加载数据,iris数据集是r自带的数据集
data(iris)

添加大括号

# 创建一个ggplot对象,并设置数据为iris数据集,aes函数用来映射变量到视觉对象  
plt <- ggplot(iris, aes(x=Sepal.Length,   
                        y=Sepal.Width,   
                        color=Species,   
                        label=Species)) +   
  # 添加散点图层    
  geom_point() +    
  # 设置颜色  
  scale_color_manual(values = c("setosa" = "red""versicolor" = "blue""virginica" = "green")) +  
  # 设置主题为经典主题    
  theme_classic() +    
  # 移除图例    
  theme(legend.position="none")  

# 在plt对象上添加stat_brace()函数,用于添加括号标签  
plt + stat_brace()

添加标签

# 在plt对象上继续添加图层  
plt +   
  # 添加stat_brace()图层来绘制括号  
  stat_brace() +  
  # 添加stat_bracetext()图层来在括号内添加文本  
  stat_bracetext()

设置标签大小、角度和字体

# 在plt对象上继续添加图层  
plt +   
  # 添加stat_brace()图层来绘制括号  
  stat_brace() +  
  # 添加stat_bracetext()图层来在括号内或附近添加文本  
  # 设置文本大小为4,角度为15度,字体为粗体  
  stat_bracetext(size=4, angle=15, fontface="bold")

旋转大括号

# 在plt对象上继续添加图层  
plt +   
  # 添加stat_brace()图层来绘制括号,并将括号旋转90度  
  stat_brace(rotate = 90) +  
  # 添加stat_bracetext()图层来在括号内或附近添加文本,并将文本标签旋转90度  
  stat_bracetext(rotate = 90)

设置大括号位置

将括号设置在数据点的内部:

# 在plt对象上继续添加图层  
plt +   
  # 添加stat_brace()图层来绘制括号,并将括号设置在数据点的内部  
  stat_brace(outside = FALSE)

将括号与其组中的最后一个数据点保持一个定义的距离:

plt + stat_brace(distance = 2) # 括号与其组中的最后一个数据点保持一个定义的距离

将所有括号都放在同一个位置:

plt + stat_brace(outerstart = 5) # 所有括号都放在同一个位置

将所有括号都设置为相同的宽度:

plt + stat_brace(outerstart = 5, width = 1) # 所有括号都有相同的宽度

将所有括号都设置为相同的曲率:

plt + stat_brace(outerstart = 5, width = 1, bending = 0.1) # 所有括号都有相同的曲率

在绘图区外添加大括号

plt +   
  stat_brace(outerstart = 4.5) + # 在plt对象上添加括号图层,并设置括号的起始x坐标为4.5  
  coord_cartesian(y = range(iris$Sepal.Width), clip = "off") + # 设置y轴的范围为iris数据集中Sepal.Width列的最小值和最大值,并关闭裁剪功能  
  theme(plot.margin = unit(c(0.25, 0.11, 0.11, 0.11), units = "npc")) # 设置图形的边距

欢迎加入

参考资料:https://github.com/NicolasH2/ggbrace



继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存